@tailwind base;
@tailwind components;
@tailwind utilities;

.dot-flashing {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite linear alternate;
  animation-delay: 0.5s;
}
.dot-flashing::before,
.dot-flashing::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-flashing::before {
  left: -15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite alternate;
  animation-delay: 0s;
}
.dot-flashing::after {
  left: 15px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #9880ff;
  color: #9880ff;
  animation: dot-flashing 1s infinite alternate;
  animation-delay: 1s;
}

@keyframes dot-flashing {
  0% {
    background-color: #9880ff;
  }
  50%,
  100% {
    background-color: rgba(152, 128, 255, 0.2);
  }
}

.saturation-pulse {
  filter: saturate(0); /* Start as grayscale */
  animation: saturation-pulse 2s infinite; /* Apply the animation */
}

@keyframes saturation-pulse {
  0% {
    filter: saturate(0); /* Grayscale */
  }
  50% {
    filter: saturate(2); /* Over-saturated */
  }
  100% {
    filter: saturate(0); /* Back to grayscale */
  }
}

.collapsible-panel-appear {
  display: none;
  opacity: 0;
}
.collapsible-panel-appear-active {
  opacity: 1;
  transition: opacity 200ms;
}
.collapsible-panel-appear-done {
  opacity: 1;
}
.collapsible-panel-enter {
  display: none;
  opacity: 0;
  display: grid;
  grid-template-rows: 0fr;
}

.collapsible-panel-enter-active {
  opacity: 1;
  display: grid;
  grid-template-rows: 1fr;
  transition:
    opacity 200ms,
    grid-template-rows 200ms;
}

.collapsible-panel-exit {
  opacity: 1;
  display: grid;
  grid-template-rows: 1fr;
}

.collapsible-panel-exit-active {
  opacity: 0;
  display: grid;
  grid-template-rows: 0fr;
  transition:
    opacity 200ms,
    grid-template-rows 200ms;
}

.collapsible-panel-exit-done {
  display: none;
}
